9 research outputs found

    ADDRESSING SELFISHNESS IN THE DESIGN OF COOPERATIVE SYSTEMS

    Get PDF
    I sistemi distribuiti cooperativi, tra cui in particolare i sistemi peer-to-peer, sono oggi alla base di applicazioni Internet di larga diffusione come file-sharing e media streaming, nonch\ue9 di tecnologie emergenti quali Blockchain e l'Internet of Things. Uno dei fattori chiave per il successo di un sistema cooperativo \ue8 che i nodi che vi partecipano mettano a disposizione della comunit\ue0 una parte delle proprie risorse (es. capacit\ue0 di calcolo, banda, spazio disco). Alcuni nodi, poich\ue9 controllati da agenti autonomi e indipendenti, potrebbero tuttavia agire egoisticamente e scegliere di non condividere alcuna risorsa, spinti dall'obiettivo di massimizzare la propria utilit\ue0 anche se a danno delle prestazioni dell'intero sistema. Affrontare l'egoismo dei nodi rappresenta dunque un'attivit\ue0 imprescindibile per lo sviluppo di un sistema cooperativo affidabile e performante. Nonostante il grande numero di tecniche ed approcci presenti in letteratura, tale attivit\ue0 richiede elaborazioni complesse, manuali e laboriose, nonch\ue9 conoscenze approfondite in vari domini di applicazione. Obiettivo di questa tesi \ue8 di fornire strumenti sia pratici che teorici per semplificare lo studio e il contrasto dei comportamenti egoistici nei sistemi cooperativi. Il primo contributo, basato su un'analisi esaustiva dello stato dell'arte sull'egoismo in sistemi distribuiti, presenta un framework di classificazione finalizzato all'identificazione e comprensione dei comportamenti egoistici pi\uf9 importanti su cui concentrarsi durante la progettazione di un sistema cooperativo. Come secondo contributo, presentiamo RACOON, un framework per la progettazione e configurazione di sistemi cooperativi resilienti all'egoismo dei nodi. L'obiettivo di RACOON \ue8 di semplificare tali attivit\ue0 fornendo una metodologia generale e semi-automatica, capace di integrare in un dato sistema pratici meccanismi di incentivo alla cooperazione, attentamente calibrati in modo da raggiungere gli obiettivi di resilienza e performance desiderati. A tal fine, RACOON impiega sia strumenti analitici appartenenti alla teoria dei giochi che metodi simulativi, che vengono utilizzati per fare previsioni sul comportamento del sistema in presenza di nodi egoisti. In questa tesi presentiamo inoltre una versione estesa del framework, chiamata RACOON++, sviluppata per migliorare l'accuratezza, flessibilit\ue0 e usabilit\ue0 del framework originale. Infine, come ultimo contributo del lavoro di tesi, presentiamo SEINE, un framework per la rapida modellazione e analisi sperimentale di vari tipi di comportamenti egoistici in un dato sistema cooperativo. Il framework \ue8 basato su un nuovo linguaggio specifico di dominio (SEINE-L) sviluppato per la descrizione degli scenari di egoismo da analizzare. SEINE fornisce inoltre supporto semi-automatico per l'implementazione e lo studio di tali scenari in un simulatore di sistemi distribuiti selezionato dallo stato dell'arte.Cooperative distributed systems, particularly peer-to-peer systems, are the basis of several mainstream Internet applications (e.g., file-sharing, media streaming) and the key enablers of new and emerging technologies, including blockchain and the Internet of Things. Essential to the success of cooperative systems is that nodes are willing to cooperate with each other by sharing part of their resources, e.g., network bandwidth, CPU capability, storage space. However, as nodes are autonomous entities, they may be tempted to behave in a selfish manner by not contributing their fair share, potentially causing system performance degradation and instability. Addressing selfish nodes is, therefore, key to building efficient and reliable cooperative systems. Yet, it is a challenging task, as current techniques for analysing selfishness and designing effective countermeasures remain manual and time-consuming, requiring multi-domain expertise. In this thesis, we aim to provide practical and conceptual tools to help system designers in dealing with selfish nodes. First, based on a comprehensive survey of existing work on selfishness, we develop a classification framework to identify and understand the most important selfish behaviours to focus on when designing a cooperative system. Second, we propose RACOON, a unifying framework for the selfishness-aware design and configuration of cooperative systems. RACOON provides a semi-automatic methodology to integrate a given system with practical and finely tuned mechanisms to meet specified resilience and performance objectives, using game theory and simulations to predict the behaviour of the system when subjected to selfish nodes. An extension of the framework (RACOON++) is also proposed to improve the accuracy, flexibility, and usability of RACOON. Finally, we propose SEINE, a framework for fast modelling and evaluation of various types of selfish behaviour in a given cooperative system. SEINE relies on a domain-specific language for describing the selfishness scenario to evaluate and provides semi-automatic support for its implementation and study in a state-of-the-art simulator.Les syst\ue8mes distribu\ue9s collaboratifs, en particulier les syst\ue8mes pair-\ue0-pair, forment l\u2019infrastructure sous-jacente de nombreuses applications Internet, certaines parmi les plus populaires (ex\ua0: partage de fichiers, streaming multim\ue9dia). Ils se situent \ue9galement \ue0 la base d\u2019un ensemble de technologies \ue9mergentes telles que la blockchain et l\u2019Internet des Objets. Le succ\ue8s de ces syst\ue8mes repose sur la contribution volontaire, de la part des n\u153uds participants, aux ressources partag\ue9es (ex : bande passante r\ue9seau, puissance de calcul, stockage de donn\ue9es). Or ces n\u153uds sont des entit\ue9s autonomes qui peuvent consid\ue9rer comme plus avantageux de se comporter de mani\ue8re \ue9go\uefste, c\u2019est-\ue0- dire de refuser de collaborer. De tels comportements peuvent fortement impacter les performances et la stabilit\ue9 op\ue9rationnelles du syst\ue8me cible. Prendre en compte et pr\ue9venir les comportements \ue9go\uefstes des n\u153uds est donc essentiel pour garantir l\u2019efficacit\ue9 et la fiabilit\ue9 des syst\ue8mes coop\ue9ratifs. Cependant, cela exige du d\ue9veloppeur, en d\ue9pit de la grande quantit\ue9 de techniques et d\u2019approches propos\ue9es dans la litt\ue9rature, des connaissances multisectorielles approfondies. L'objectif de cette th\ue8se est de concevoir et \ue9tudier de nouveaux outils th\ue9oriques et pratiques pour aider les concepteurs de syst\ue8mes distribu\ue9s collaboratifs \ue0 faire face \ue0 des n\u153uds \ue9go\uefstes. La premi\ue8re contribution, bas\ue9e sur une analyse exhaustive de la litt\ue9rature sur les comportements \ue9go\uefstes dans les syst\ue8mes distribu\ue9s, propose un mod\ue8le de classification pour identifier et analyser les comportements \ue9go\uefstes les plus importants sur lesquels il est important de se concentrer lors de la conception d'un syst\ue8me coop\ue9ratif. Dans la deuxi\ue8me contribution, nous proposons RACOON, un framework pour la conception et la configuration de syst\ue8mes coop\ue9ratifs r\ue9silients aux comportements \ue9go\uefstes. Outre un ensemble de m\ue9canismes d'incitation \ue0 la coop\ue9ration, RACOON fournit une m\ue9thodologie semi-automatique d\u2019int\ue9gration et de calibration de ces m\ue9canismes de mani\ue8re \ue0 garantir le niveau de performance souhait\ue9. RACOON s\u2019appuie sur une analyse du syst\ue8me cible fond\ue9e sur la th\ue9orie des jeux et sur des simulations pour pr\ue9dire l\u2019existence de n\u153uds \ue9go\uefstes dans le syst\ue8me. RACOON a \ue9t\ue9 \ue9tendu en un deuxi\ue8me framework, RACOON++. Plus pr\ue9cis, plus flexible, RACOON++ offre \ue9galement une plus grande facilit\ue9 d'utilisation. Une derni\ue8re contribution, SEINE, propose un framework pour la mod\ue9lisation et l'analyse des diff\ue9rents types de comportements \ue9go\uefstes dans un syst\ue8me coop\ue9ratif. Bas\ue9 sur un langage d\ue9di\ue9, d\ue9velopp\ue9 pour d\ue9crire les sc\ue9narios de comportement \ue9go\uefstes, SEINE fournit un support semi-automatique pour la mise en \u153uvre et l'\ue9tude de ces sc\ue9narios dans un simulateur choisi sur la base de l\u2019\ue9tat de l\u2019art (PeerSim)

    A semi-automatic framework for the design of rational resilient collaborative systems

    Get PDF
    Collaborative systems (e.g., P2P instant messaging, file sharing, live streaming applications) constitute the largest traffic of today\u2019s Internet. Common to all these systems is the assumption that, in return to the service offered by the collaborative system, users are willing to participate by sharing their resources with others. However, in practice, these systems suffer from rational users, i.e. users that benefit from the system without contributing their fair share to it. A number of solutions have been devised in the literature to deal with the problem of rational users in collaborative systems. However, most of these solutions are tailored to specific systems and thus lack flexibility and re-usability. In this paper, we propose RACOON, the first framework for RAtional resilient COllabOrative system desigN. RACOON relies on an extensible model that allows a system designer to specify the protocol steps and the different types of rational users he wants to consider. Furthermore, RACOON relies on game theory to reason on the behaviour of rational users. Finally, RACOON includes a simulation module that allows performance-oriented tuning of the system. Throughout the paper, we show how we used RACOON for the design of a rational-resilient, collaborative live-streaming application. Performance evaluation realised on one hundred real machines shows that the configuration proposed by RACOON allows all users to visualise a quality stream even in presence of rational users

    Gossiping solutions for distributed consensus on unstructured overlays

    No full text
    In peer-to-peer networks, mobile ad-hoc networks and wireless sensor networks it can be useful, at run time, to reactively agree over choices that cannot be taken at design time: global consensus over one choice among a set of possible predefined alternatives, can emerge from the self-organization of a population of distributed agents connected through some communication network and interacting only locally, by means of a gossiping based information dissemination. However the standard gossiping used in many overlay networks, represented by a short-memory Self-Avoiding Random Walk, is very sensitive to topological bottlenecks: as a consequence different areas of an unstructured network can settle into different local consensus states. In this paper we study the performance of a class of gossiping algorithms, based on Neighbor Avoiding Random walks, that improve the mutual reachability of any pair of nodes in an unstructured network of arbitrary topology, so that each agent can potentially disseminate its own state more uniformly, so as to favor the attainment of global consensus

    A game theoretic approach to vulnerability patching

    No full text
    Patching vulnerabilities is one of the key activities in security management. For most commercial systems however the number of relevant vulnerabilities is very high; as a consequence only a subset of them can be actually fixed: due to bounded resources, choosing them according to some optimal criterium is a critical challenge for the security manager. One has also to take into account, though, that even delivering attacks on vulnerabilities requires a non-negligible effort: also a potential attacker will always be constrained by bounded resources. Choosing which vulnerabilities to attack according to some optimality criterium is also a difficult challenge for a hacker. Here we argue that if both types of players are rational, wishing to maximize their ROI and aware of the two sides of the problem, their respective strategies can be discussed more naturally within a Game Theory (GT) framework. We develop the fact that the above described attack/defense scenario can be mapped onto a variant of GT models known as Search Games: we call this variant Enhanced Vulnerability Patching game. Under the hypothesis of rationality of the players, GT provides a prediction for their behavior in terms of a probability distribution over the possible choices: this result can help in supporting a semi-automatic choice of patch management with constrained resources. In this work we model and solve few prototypical instances of this class of games and outline the path towards more realistic and accurate GT models

    Hybrid Inspector-Inspectee-Agent Games in Mobile Cloud Computing

    No full text
    Within the paradigm of Mobile Cloud Computing (MCC) mobile devices such as mobile phones and tablets can unload computation to a local Cloud consisting of both static and mobile devices. Due to the proximity, such Cloud can better fulfill service and latency requirements for QoS sensitive applications. However, in order to function properly, such mechanics requires a collaborative approach that not all the devices might follow: some can contribute much less than others and deviate from the Service Level Agreement. This creates a free-riding problem in MCC and a corresponding QoS issue. An approach towards this problem consists of providing incentives to nodes so that they act as inspectors and occasionally audit the recent behavior of the nodes with which they interact. This double role of potential inspectee and inspectors can be modeled within Game Theory (GT) to predict the behavior of the agents. In this work, we show that an appropriate model for this game is a symmetric four-strategies social dilemma. The solution (a.k.a. equilibrium) of the game provides a unique way to set the incentives so as to drive the system toward the desired behavior. However, even the hybrid inspector-inspectee agent approach is in principle open to a potential flaw: the possibility of inspector-inspectee collusion. The main contribution of this work is that the collusion behavior is not an equilibrium of the game, thus hybrid agent rational players should never collude

    Boosting the innovation process in collaborative environments

    No full text
    In this paper we propose a new architecture and methodology to define a collaborative environment aimed at supporting the innovation process. In the first part of this paper we analyse the data collected during an experiment for testing a collaborative environment and, in the second part, we propose an architecture to support and stimulate innovation processes. Our solution is based on three components, namely a (i) collaborative platform, (ii) a tool able to extract knowledge from shared documents, external data sources, and collaborative activities, and (iii) a recommender system. More specifically, we focus on how knowledge items are extracted from incoming knowledge flows to be proposed to a team, whose members are capable of proposing values for design issues and/or evaluating these choices from her own specific perspective. Furthermore, the aim of the proposed framework is not limited to the selection of relevant knowledge but, more broadly, on aligning the team on a restricted set of information items, producing a convergence of objectives that accelerates the kinetics of the collaborative work

    RACOON++: A Semi-Automatic Framework for the Selfishness-aware Design of Cooperative Systems

    No full text
    Challenge in designing cooperative distributed systems is to develop feasible and cost-effective mechanisms to foster cooperation among selfish nodes, i.e., nodes that strategically deviate from the intended specification to increase their individual utility. Finding a satisfactory solution to this challenge may be complicated by the intrinsic characteristics of each system, as well as by the particular objectives set by the system designer. Our previous work addressed this challenge by proposing RACOON, a general and semi-automatic framework for designing selfishness-resilient cooperative systems. RACOON relies on classical game theory and a custom built simulator to predict the impact of a fixed set of selfish behaviours on the designer\u2019s objectives. In this paper, we present RACOON++, which extends the previous framework with a declarative model for defining the utility function and the static behaviour of selfish nodes, along with a new model for reasoning on the dynamic interactions of nodes, based on evolutionary game theory. We illustrate the benefits of using RACOON++ by designing three cooperative systems: a peer-to-peer live streaming system, a load balancing protocol, and an anonymous communication system. Extensive experimental results using the state-of-the-art PeerSim simulator verify that the systems designed using RACOON++ achieve both selfishness-resilience and high performance

    A framework for the design configuration of accountable selfish-resilient peer-to-peer systems

    No full text
    A challenge in designing a peer-To-peer (P2P) system is to ensure that the system is able to tolerate selfish nodes that strategically deviate from their specification whenever doing so is convenient. In this paper, we propose RACOON, a framework for the design of P2P systems that are resilient to selfish behaviours. While most existing solutions target specific systems or types of selfishness, RACOON proposes a generic and semi-Automatic approach that achieves robust and reusable results. Also, RACOON supports the system designer in the performance-oriented tuning of the system, by proposing a novel approach that combines Game Theory and simulations. We illustrate the benefits of using RACOON by designing two P2P systems: A live streaming and an anonymous communication system. In simulations and a real deployment of the two applications on a testbed comprising 100 nodes, the systems designed using RACOON achieve both resilience to selfish nodes and high performance
    corecore